home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC-SIG: World of Games
/
PC-SIG World of Games (CDRM1080710) (1993).iso
/
ENT
/
DISK1000.ZIP
/
NETHACK.ZIP
/
README
< prev
next >
Wrap
Text File
|
1991-03-21
|
27KB
|
522 lines
NetHack is Copyright (C) Stichting Mathematisch Centrum, Amsterdam, 1985
NetHack may be freely redistributed. See license for details.
Installing NetHack 3.0 for the PC
=================================
(last revision: 1991march21)
------------------------------------------------------------------------
Hello ..., welcome to NetHack!
------------------------------------------------------------------------
The current official binary distribution of NetHack 3.0 (version
3.0j, a.k.a. patchlevel 10) for PC compatibles running MS-DOS or
PC-DOS version 3.0 or later consists of the following files:
Name Size Zip CRC Brik CRC Comments
------------ ------ -------- ----------- ------------------------------
README 27302 ???????? ?????????? This very file
LICENSE 5006 46c3e7da 3258921257 NetHack license. Please read.
NETHACK.CNF 3658 7b826669 4121920615 User configuration file.
TERMCAP 5555 d140c9f1 1282750688 Arcane configuation file.
NETHACK.EXE 299008 f75517c6 145418297b The game - part 1
NETHACK1.OVL 290304 0f8833af 4034382928b part 2 \ put in same dir
NETHACK2.OVL 248320 64625d40 2610799295b part 3 / as NETHACK.EXE!!!
CASTLE 1829 8aa1232d 1969151186b Data files ...
ENDGAME 1004 0a6aaa29 4120204758b
TOWER1 380 bdc5fdb2 1111097933b
TOWER2 335 a4db894c 1529116339b
TOWER3 356 24068f0b 3690557684b
ORACLES 4478 2fa350cb 4086068577
HISTORY 3236 b022ac65 1513819506
DATA 23261 7f71ed3a 512054462
RUMORS 40892 456c4730 3130243279b
HH 3660 ca6ba49d 3154127134
HELP 6820 b2fc1570 2590120504
CMDHELP 4017 b8873aa5 1262420870
OPTHELP 4113 67f7454e 2324224409 ... selif ataD
GUIDEBK.TXT 51869 8bb463de 3163535027 A sort-of Owner's Manual
GUIDEBK.TEX 55291 319b3d1e 1935234205 the same in TeX format
They may well come to you in two self-extracting ZIP archives,
NH30JPC1.EXE and NH30JPC2.EXE, which should be accompanied by a
read.first providing sizes and checksums for those files, and
explaining how to unpack them.
------------------------------------------------------------------------
How to set up the game:
------------------------------------------------------------------------
In order to install this version of NetHack, you will need a PC
compatible running MS-DOS or PC-DOS 3.0 or later with 640k or more of
RAM and perhaps 1.5M of free disk space. NetHack consumes a lot of RAM
and the more it has available the faster it runs; it is therefore
recommended that you do NOT use it in conjunction with large
memory-resident programmes, or disk caches or RAM disks that consume
significant amounts of base memory.
The most straighforward method of setting up the game is to put all of
the 22 NetHack files into a single directory - C:\GAMES\NETHACK would be
a typical choice. Whenever you are in this directory you can then run
NETHACK. If you add this directory to your PATH, you will not even
have to CD first.
More sophisticated users may want to have the programme and
the data files in different directories. In this case you must take
care that the *.OVL files and NETHACK.CNF are in the same directory as
NETHACK.EXE (the former are programme files, NOT data files, while the
latter you must edit to tell NetHack which directory its data files
are kept in) and that TERMCAP (which you are using if you have set the
TERM variable to name one of its entries) is somewhere on the PATH.
At this point, on a thoroughly clonal machine, you should have a
playable game, but you quite likely want to poke around in NETHACK.CNF
with a text editor to set up both pragmatic things (like where to
store saved games) and Fun Stuff like the name of your character and
your cat. If your machine is not a solid clone, this step can save
your metaphorical bacon by eliminating some otherwise reasonable
assumptions about how things work inside....
With luck the comments in NETHACK.CNF should be adequate to
figuring out how things work.
------------------------------------------------------------------------
Contacts:
------------------------------------------------------------------------
If you have problems with this package, or in general with NetHack on
the PC, you can try contacting one of the following people:
Kevin Smolkowski Internet: wizard@greylady.uoregon.edu
POB 3256 kevins@ori.org
Eugene, OR 97403 Bitnet: kevins@ori.BITNET
Norm Meluch norm@cfctech.cfc.com
Pierre Martineau pierre%ozrout.uu.net@altitude.cam.org
Stephen P Spackman stephen@estragon.uchicago.edu
------------------------------------------------------------------------
Bug reports nethack-bugs@linc.cis.upenn.edu
Please mention that you are using the 'official' nh30jpc binary, that
it is version 3.0j of the game, and whether you use a disk cache,
ramdisk, EMS or other such enhancement as well as the EXACT error
message and diagnostic code (if you are so lucky as to be given one).
------------------------------------------------------------------------
Frequently asked questions:
------------------------------------------------------------------------
You asked:
I try to start up NetHack, but all I get is some cryptic
message like this:
OVLMGR: Incomplete executable. OVL files missing?
and then the stupid thing beeps at me.
Our installation expert replies:
The trouble is that wherever you put NETHACK.EXE, you didn't put the
NETHACK?.OVL files in the same directory. They've got to be there.
They're part of the same programme (in fact they're MOST of the same
programme -- NETHACK.EXE contains the data structures, a loader, and a
few K of the most frequently used routines, and not much else). Put
the .OVL files in the directory with the .EXE, and everything should be
fine.
You asked:
Help! I start NetHack, but all I get on my screen is a bunch of
garbage. It looks like the game is running, but it's all just a
jumble at the bottom of the screen. What's wrong?
Our staff mechanic replies:
Amateurs, amateurs, amateurs. I don't know. Look, you've frimbulated
the framslambaster, the claviprondrophone's clogged, and you've
probably got your command interpreter in backwards, to judge from the
way the text scrolls down the screen.... I hate to be the bearer of
bad news, but this one's gonna cost you. Maybe a minute, maybe two
minutes of your time. What's happening, do you see? is that the
characters are getting out onto the screen, there, but nothing's
telling the little beggars where to go. There ain't no terminal
emulator running there, no terminal emulator at all. Awright, you
seem like a bright one, I'll walk you through the fix.
First off, we're gonna have to figure out what kind of
terminal driver you want to use. The simple approach is, we'll use
ANSI.SYS, 'cause that comes with DOS; at least on the true clones you
pretty much have to have that. Now, if you had a nice custom job, or
one of them souped-up PD things like NANSI.SYS or PMANSI.SYS or one of
them, we could use that: it'd be faster, surely, and maybe other
software could use it too. But whichever one you use, you should make
a note of its full path name, where it is.
What kind of set-up do you have? A plain-vanilla
installation, you know, and you'd have the operating system all in the
root of C: - in C:\, as we say. Most are a bit fancier nowadays and
keep it in C:\DOS or somewhere like that, so the full name could work
out to be C:\ANSI.SYS or C:\DOS\NANSI.SYS, or some such. That's the
thing we need. Humph. Yeah, almost forgot. If you boot off a floppy
-- sometimes you wanna do that, have a smaller config for the game
than you generally use, whatever, it could even be in A:, I suppose.
A:\ANSI.SYS, whatever.
Ok, so we know what we want to install. Now we've got to
install it. So we're gonna have to open up your CONFIG.SYS with an
editor or something, some kind of text editor. CONFIG.SYS? That's
the system configuration file, no big surprise. That's gonna be in
the root of your boot drive, surely (well, once I knew a chap who kept
it someplace else but he'd used a sector editor on his boot record, to
prove he could do it or something. Pride knows no wossname it seems).
So anyways, here we are, it's C:\CONFIG.SYS on a hard disk,
A:\CONFIG.SYS on a floppy, and if you don't have one, just make one,
it's an ordinary DOS text file.
So what we have to do to it is add a single new line,
saying, eesh, something like
DEVICE=C:\ANSI.SYS
Or whatever. On the right, after the equals sign, you just put
whatever driver you actually have, right?
Well, for a stock machine, a good solid clone, that should
about be it. The display should be fine now. If you're running DOS
on a non-compatible machine, though, perhaps you have a terminal
emulator, even a terminal, that isn't ANSI compatible. Well. Then
you'd have have to set up an environment variable, TERM=..., well,
TERM= whatever your terminal type is named. Then you'd have to make
sure there's a TERMCAP file on your path, and see that there's an
entry in it describing your terminal. Touchy that. And pretty
technical. Perhaps you'd want to get a Unix wizard to walk you
through it, them termcap entries read like alphabet soup to many,
though all they do is explain the escape sequences the terminal uses
for its different functions.
But if you're using an ANSI terminal, or an ANSI terminal
emulator, that TERM stuff is taken care of automatic.
Hope that helps.
You asked:
Wow this is a really neat game. Is there any way to explore it
without dying so much?
Our staff schizophrenic replies:
Gentle Reader, I fear this is a most delicate question. It is a
frequent theme in fantasy literature that it is far easier to be
granted a wish than it is to decide upon a good wish to make. But I
am no djinn, and I am willing to advise you on this point as well.
And so I shall make the observation that, no matter what transpires,
you will always die the same amount, viz: once. Perhaps what you want
is a way to avoid dying so soon?
As it happens, this latter can be accomplished. Death, as it
transpires, is characterisable as _finitely avoidable_ in NetHack, for
there is a Mystic Prompt known to those who have read the Man Page of
Doom, the words of which, it is sometimes whispered, are as follows:
Die? [yn]
The benefit of being asked this question at the, shall we say,
appropriate, crucial moments is available -- for a price.
Classically, an acceptable consideration would be the player's soul;
but since according to the hallowed doctrines of most major religions,
@-signs don't have souls to sell, we will be contented with your
score.... For lo! The game contains an X command, and by the
strangely inexplicable power of the elder gods this X standeth for the
word Discover (or EXplore, in the ancient tongue), and the typing of
this Mystic Device shall effect the deal as described above,
paragraphs 2 and 3.
Furthermore, and alternately, IF YOU ORDER IMMEDIATELY at the
outset of a game, AS AN ADDED FREE BONUS YOU WILL RECEIVE A GENUINE
HAND-CRAFTED WAND OF THREE WISHES! Just type NETHACK -X on the
command line and, since NetHack is freely distributable, SEND NO MONEY
NOW. As a variation on this theme, the -D flag will put the game into
its debugging mode, IF you call yourself a Wizard...
"Speak, nethack -u Wizard -D, and enter", to paraphrase the Old Master.
You asked:
Ok the game works. Where do I begin to learn how to play?
A passing strange person replies:
Of course it works. What do you think I am, a radio?
Once you've got into the game, some good commands to try (and
they don't even count as moves!) are ? and /. At risk of sounding
like marketing blurb, the HELP key (which on your terminal will be
marked with a question mark - and be warned that you may have to
depress the shift key to activate this function!) gives you instant
access to our online help facility. It's kind of a menu with lovely
options like "c" (where you get to see MY NAME in the history of
NetHack!), "i" (which gives you all the important legal blurb which
tells you about your rights and responsibilities as a NetHack
licensee), and the more boring items "a" and "b" which merely explain
all the commands and the display symbols and uninteresting stuff like
that. What the hell. It's there, you can use it.
The / key is pretty good, too. If there's something on the
screen that you don't know what it is, well, it's probably a letter or
a symbol or something. That's wisdom, see? But to get onto the
Eternal Verities, suppose you want to know what it MEANS? Aha! Hit
/, say "y", I want to specify it by cursor (cursors are blinking
underscores, and if you're British like me you can curse them with
your numeric bloody keypad, too -- Americans needn't understand this
joke), whatever it is, and then you can point out the object of your
confusion and have it explicated in frabjous detail. Helps you avoid
getting your face et, sometimes, that. Always nice, not having your
face et.
Oh, right, I almost forgot. There's the Guidebook, too, for
the quiche-eaters in our midst.... You may have got one with your
game.
You asked:
Can I run this game on a two floppy PC?
Our entire staff choruses:
NO!
Basically the game has gotten too huge. Well, if you had
really LARGE floppies, and a lot of EMS so that it doesn't have to
swap code in from disk all the time (which would be REALLY slow), I
suppose you could, a bit, maybe. There's some support for it, since
it used to be feasible, but really, today, I wouldn't want to try.
And the problem is exacerbated by the fact that because of the
overlays the game file is kept open all the time, so you aren't free
to swap disks once the game is loaded.
Sorry 'bout that.
It *might* still be possible to compile a stripped-down
version of the game that wouldn't need to be overlaid.... But we
haven't tried even that approach for a long time, and there are no
guarantees at all. Of course, if you succeed in pulling it off, let
us know; but don't get your hopes up.
You asked:
ARGH! The game is *so* slow. What can I do?
A sales representative replies:
Buy a faster machine. Get a faster hard disk! Install an EMS driver
to take advantage of all the extra memory this baby has! Technology,
technology and Yankee know-how, technology and, let's be honest, we're
both people of the world, Japanese production techniques, are the
answers to all our needs!
What's that you say? You want to use THIS machine? And your
recommendation to the free computers for employees programme depends
on my proving it can be done? Ah. That puts a different complexion
on matters. May I use your phone...?
* * *
Yeah, yeah, ok. Uh-huh. Right. Catch programmes? Cache. Right.
And TSRs. Yeah, ok. Right. Thanks, Lesley.
* * *
Great tech support, there. Yeah, so the word is, you've got to get
everything out of RAM that you can. It's as simple as that. All the
TSRs, everything. Even RAMdisks, disk caches, everything. Seems
they've built caching right into the game, can you imagine? And it
works better than the real thing. Great product this, it practically
replaces the operating system. Hell, it replaces the hardware in some
cases. Well, alright, you've got me there. It doesn't replace the
hardware OR the operating system. But it's pretty sophisticated, and
very technical. So it seems you're trying too hard to help it along,
with all these RAM-hogging programmes you've got loaded. And a class
product like this, it needs all the RAM it can get. Ok?
It's still too slow, you say? Well, what do you want from me?
This game, if you add up the .EXE and the .OVL files, it's, what,
TWICE the size of free memory on this aging old machine of yours. And
all of that code, ALL of it, mark you, is muscle. No fat on this
babe. The programmers, they tell me that this thing peaks at
thousands of overlay transfers per second! Imagine that! Whatever it
means. So shut up! We're doing our best! Shut up! Look, I'll sell
you my sister. My sister, and my brother... and my budgie. Just
recommend us to the VP-$$$. Here, take my watch, it's a gift....
You asked:
What has been done to speed up the game?
Our High Priest replies:
We sacrificed a goat. And a sheep. Well, a picture of a sheep. And
an okapi, I think it was. Something striped. Then we burned Donny
Osmond and Ozzy Osbourne records, both at once, it made these weird
purple sparks, and the smoke formed an image of Elvis riding a whale.
Pretty good ritual that, almost as much fun as using EDT all day,
hitting ^Y, and issuing an EDIT/RECOVER. Those were the days. Yeah,
and we ate pizza, a lot of pizza, and drank more sacramental coffee
than you can probably imagine. Plus, we sent a lot of electronic
mail. Megabytes of it.
Then we decided to try being systematic.
So we made more coffee, and sat down to look at why it was so
slow. Well, let's see.
The trouble, of course, was that this game is now so huge.
It's actually bigger than the memory on the PC. So whatever we did,
it had to use overlays. That was a given. And the other constraint
was that we couldn't hack up the sources too much, since there were
other groups working on the same programme for other computers, and if
we'd made a divergent version, we would have lost access to their
bugfixes, and all the future nifty developments. So that was out.
The thing that we looked at first, of course, the starting
point, was just carving the game up into bits and making them into
overlays for the Microsoft overlay linker. Use the standard tools.
Well, to cut a long story short, it was too slow. I mean, the game
now is slow, but back then we were talking ten seconds or more a turn,
and for simple moves. The disk light was on almost steadily as
overlays swapped in and out.
Well, there were two things that could be done, and different
of us tried each: Norm tried re-arranging the stuff in the overlays
in an attempt to improve performance that way, while Stephen and
Pierre looked at writing a new overlay manager that would perform
better. The custom overlay manager approach was a longer haul, but in
the end it worked better, so we all switched over to that. The
Microsoft thing was just too limited.
What's the difference between the two? That's pretty simple.
The Microsoft system only allows one overlay to be in memory at a
time, while our OVLMGR just fills RAM up - gets as much of the
programme in as it can. So most times, 99.9-some percent of the time,
we don't need a disk reference at all. When we DO have to go to disk,
we kick out the thing that was used longest ago; that turns out to be
a good indicator that it won't be needed again soon, either. I'm told
it's the same sort of arrangement that Borland have used in their new
overlay manager - though for some reason, theirs doesn't perform as
well as ours, at all.
Anyway, making that work was no piece of cake, since
Microsoft don't actually document how THEIR overlay manager works -
there's a Microsoft Journal article about it, but it's pretty bad, and
simply leaves out most of what you need to know. But the result was a
game you could play. Actually play. If you had a fast machine.
So we made more coffee.
There were some things we could do, do for people with money
behind their computers; we could put in support for '386 processors,
and for EMS, stuff like that. Well, we did that, but it still didn't
help with low-end machines. So next we looked at the source code.
And this was where Norm's earlier experience paid off, and Stephen's
twisted mind. Because we realised that what we needed to do was to
split up the code between the overlays along the lines of which
routines called each other the most frequently, rather than according
to which modules they "belonged" to. But we couldn't change the code
around to fix that, remember.
So we cooked up this scheme where different parts of the
different source files can be compiled separately. So each file can
be compiled three, four, sometimes five times, to make lots of little
slices, which are then linked together according to their call
patterns. Oh, yeah, we spent a lot of time staring at dynamic
profiles, too, trying to decide what belonged together.
So finally we had a game where the worst case, the worst case,
where the level is packed with monsters trying to eat your face and
your machine is only an XT clone, was about a couple of seconds per
turn. Not good, but better than the old hack was *without* overlays
(thanks to the vast improvement in code quality provided by the main
development team while we PC types were working on this), and
marginally tolerable. Better, of course, much better, on a faster
machine.
But then, this game keeps on growing....
So could it go faster? Sure it could. We never did implement
transient dynamic linking, for instance. And we could have done stuff
by replacing the linker - or the compiler. But anything new you do,
it's not going to be obvious. The obvious stuff we tried before we
started, if you see what I mean. At this point, any significant
improvement is likely to constitute, how shall I put this? A
commercially viable technique? And likely to come from a true
BitWarrior, a NetHacker born.
You asked:
What is the minimum amount of memory I can run PC NetHack in?
An arrogant experimentalist replies:
"Can" is such an interesting term. I've noticed your distinct
propensity to word your questions in the vaguest manner possible. Do
you always have this problem, or only when I put the words into your
mouth?
Anyway, for some reason this question captured my fancy, so I
did a little experimentation on my 8MHz XT clone, and the results look
like this: it seems that I can load the game in 403824 bytes of RAM.
At 400864, no dice; so the limit must be somewhere in that range. Of
course, in 403824 it took 25.5 seconds to load and reach the point
where the player is given a first turn; and turns took a *minimum* of
2.2 seconds each, when they involved only walking one step in an empty
room. Of course, picking something up, or combat, or anything complex
like that boosted the delay to 8 or 9 seconds.
Normally when I play, I have a stripped-down environment (I
hate TSRs anyway) with 578128 bytes of RAM available to applications.
Under those circumstances, it takes 13 seconds to start up, and the
delay for a simple move is barely perceptible, except perhaps for a
flick on the disk light the first time you use a command for a while.
The implications? I guess if your machine is 50 times faster
than mine, you can play in 403824 bytes and not get too annoyed. Or
if you have EMS to compensate for the lack of conventional memory, it
might not be so bad. But really, if you try to play in less than 525K
or so, you're getting much worse performance than you need to.
Remember, the more RAM, the more of the game seems to be in the
computer at one time!
You asked:
Zounds, my man! How in the name of all that's pompous can one
get 500K of user RAM free on one's machine? Surely one can't
be expected to use a computer without one's Pop-Up-Ducky
programme, one's resident Latin Grammar Checker, one's TSR
edition Who's Who? We are talking, you understand, of the
bare necessities of civilised existence!
Our resident iconoclast replies:
Er, yeah. Well, safe sex an' all that, you might wanna keep your
virus protection in place, mate. But the rest you can chuck, along
with the horse.
Now, don't panic, chum, don't take a fit. If you need that
stuff when you work, that's one thing. But when you're playing
NetHack, that's all the fun you need, right? So what you do is, you
take a floppy disk, you format it bootable, and on that you put your
COMMAND.COM, your ANSI.SYS, and a minimal CONFIG.SYS; just what you
need to boot. Oh, yeah, and an AUTOEXEC.BAT that sets up the path to
your NETHACK.EXE.
So when you want to play NetHack, you put this floppy in the
drive, and reboot. Presto! 500K free, and away you go with the game.
Time to do some work? Save the game, take out the floppy, reboot, and
back comes your pop-up duck.
Just 'cause you got a hard disk, no law says it's from it you
have to boot. And just 'cause you boot from a floppy, there's no
reason not to run programmes on the hard disk.
Good enough?
------------------------------------------------------------------------
DISCLAIMERS:
------------------------------------------------------------------------
Throughout this document, the word "NetHack" refers to a rather jolly
game involving a small @-sign getting its face et by dragons, and is
in no way to be construed as relating to the theory or practise of
gaining unauthorised use of or access to data or data processing
equipment (except maybe if a few of us play the game at work,
something which I want to go on record as saying is very, very naughty
indeed and not the sort of thing you want to get involved with at
all), and if any security- establishment types are reading this,
remember it's YOU folks who do the cloak-and-dagger stuff, we're
responsible professionals with real jobs and self respect and stuff
like that.
Secondly, all references to animal sacrifice, Donny Osmond, dynamic
linking, Microsoft Corporation, okapi, claviprondrophony and so forth
are made purely for the entertainment of the reader and if you think
we meant something by it, that's your problem. Research has shown
that what people say and what they mean have so little to do with each
other that you can actually get PAID to figure out why people say,
"can you reach the salt?" when as a matter of fact they don't give a
pair of dingo's kidneys what the answer to the question is, so long as
someone provides them with some small white crystals in the near
future and look! you came up with *that* interpretation all by
yourself now didn't you.
------------------------------------------------------------------------
stephen p spackman stephen@estragon.uchicago.edu
------------------------------------------------------------------------
This document is Copyright (C) 1991 Stephen P Spackman. It constitutes
part of the documentation of the PC version of the NetHack game, and
may be distributed freely subject to the same terms set forth in the
NetHack license. Thankyou for having a very nice day indeed. Hack On!